6e45d53be4d9e380dd592087681400e924f3c528,drools-compiler/src/test/java/org/drools/compiler/beliefsystem/defeasible/DefeasibilityTest.java,DefeasibilityTest,strictEntailment,#,120

Before Change


        Map<String, FactHandle> handles = new HashMap<String, FactHandle>();
        kSession.fireAllRules();

        EntryPoint ep = kSession.getEntryPoint(EntryPointId.DEFAULT.getEntryPointId());
        TruthMaintenanceSystem tms = ((NamedEntryPoint)ep).getTruthMaintenanceSystem();

        assertEquals(2, tms.getEqualityKeyMap().size());
        assertEquals( 5, kSession.getObjects().size() );

        checkDefeasibilityByHandleId( getEqualityKey("C( id=99 )", tms), DefeasibilityStatus.DEFINITELY, 2, 2 );
        checkDefeasibilityByHandleId( getEqualityKey("D( id=-5 )", tms), DefeasibilityStatus.DEFINITELY, 1, 1);
    }

    @Test

After Change



//        TruthMaintenanceSystem tms = ( (StatefulKnowledgeSessionImpl) kSession ).session.getTruthMaintenanceSystem();

        TruthMaintenanceSystem tms = ((NamedEntryPoint) kSession.getEntryPoint( "DEFAULT" )).getTruthMaintenanceSystem();
        FactType Ctype = kSession.getKieBase().getFactType( "org.drools.defeasible", "C" );
        FactType Dtype = kSession.getKieBase().getFactType( "org.drools.defeasible", "D" );


        ObjectHashMap keys = tms.getEqualityKeyMap();
        Iterator iter = keys.iterator();
        ObjectHashMap.ObjectEntry entry;
        while ( ( entry = ( ObjectHashMap.ObjectEntry) iter.next() ) != null ) {
            EqualityKey key = (EqualityKey) entry.getValue();

            Class factClass = key.getFactHandle().getObject().getClass();
            if ( factClass == Ctype.getFactClass() ) {
                checkStatus( key, 2, DefeasibilityStatus.DEFINITELY );
            } else if ( factClass == Dtype.getFactClass() ) {
                checkStatus( key, 1, DefeasibilityStatus.DEFINITELY );
            } else {
                fail( "Unrecognized object has been logically justified : " + factClass );
            }
        }